From: Carlos Garnacho Date: Fri, 25 Feb 2022 12:10:30 +0000 (+0100) Subject: searchController: Query stage for target actor instead of event.get_source() X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~516^2^2~27 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=dc0f286fe9660a845b0d299545cc74b30f87d0d7;p=gnome-shell.git searchController: Query stage for target actor instead of event.get_source() Events are going to stop containing the destinatary, so stop using this API. Querying the stage is equivalent and ensured to be up-to-date. Part-of: --- diff --git a/js/ui/searchController.js b/js/ui/searchController.js index 5d25897c7..ac22439a4 100644 --- a/js/ui/searchController.js +++ b/js/ui/searchController.js @@ -306,12 +306,12 @@ var SearchController = GObject.registerClass({ _onCapturedEvent(actor, event) { if (event.type() === Clutter.EventType.BUTTON_PRESS) { - let source = event.get_source(); - if (source !== this._text && + const targetActor = global.stage.get_event_actor(event); + if (targetActor !== this._text && this._text.has_key_focus() && this._text.text === '' && !this._text.has_preedit() && - !Main.layoutManager.keyboardBox.contains(source)) { + !Main.layoutManager.keyboardBox.contains(targetActor)) { // the user clicked outside after activating the entry, but // with no search term entered and no keyboard button pressed // - cancel the search